package Mapa;

import Personajes.*;
import TDA_Mapeo.*;

import javax.swing.*;

public class Mapeo_Enemigos {
	protected Map<Character, Enemigo> mapeo;
	
	/**Crea un mapeo de enemigos. */
	public Mapeo_Enemigos() {
		mapeo = new Mapeo_HashAbierto<Character, Enemigo>(20);
		cargarMapeo();
	}
	
	/**Carga el mapeo con todos los tipos de enemigos existentes en el mapa. */
	protected void cargarMapeo() {
		Enemigo e;
		Character X;
		
		// 'G' = Goomba
		X = new Character('G');
		e = new Goomba();
		e.getRG().modificarImagen(new ImageIcon(getClass().getResource("/Imagenes/Personajes/Enemigos/goomba.gif")));
		try {
			mapeo.put(X, e);
		} 
		catch (InvalidKeyException e1) {
			System.out.println("Mapeo_Enemigos :: cargarMapeo() :: Gomba");
		}
		
		//'K' = Koomba_Tropa
		X = new Character('K');
		e = new Koompa_Tropa();
		e.getRG().modificarImagen(new ImageIcon(getClass().getResource("/Imagenes/Personajes/Enemigos/tortuga2.gif")));
		try {
			mapeo.put(X, e);
		} 
		catch (InvalidKeyException e1) {
			System.out.println("Mapeo_Enemigos :: cargarMapeo() :: Koomba_Tropa");
		}
		
		
	}
	
	/**Devuelve el enemigo con clave key. */
	public Enemigo get( Character key ){
		try {
			return mapeo.get(key);
		}
		catch (InvalidKeyException e) {
			System.out.println("Mapeo_Enemigos :: get()");
			return null;
		}
	}
}

